package cn.jiedh.app.meiweidk.Utils.event;

import java.util.LinkedList;

/**
 * @name： 实现一个被观察者类
 * @author： 杨 广
 * @phone： 17382373271
 * @createTime： 2017/3/27
 * @modifyTime： 2017/3/27
 * @explain：
 */

public class ConcreteObservables implements Observables {
    private LinkedList<Observers> observers;

    @Override
    public void addObserver(Observers observer) {
        if (observers == null) {
            observers = new LinkedList<>();
        }
        observers.add(observer);
    }

    @Override
    public void removeObserver(Observers observer) {
        if (observers == null || observers.size() <= 0) {
            return;
        }
        observers.remove(observer);
    }

    @Override
    public void notifyObservers(Object obj) {
        if (observers == null || observers.size() <= 0) {
            return;
        }
        for (Observers observer : observers) {
            observer.update(obj);
        }
    }
}
